Amazon Bedrock でブログ記事のレベル判定を試みてみた

Amazon Bedrock でブログ記事のレベル判定を試みてみた

2025 Japan AWS Top Engineersの応募要件に、技術的難易度のレベル判定が追加された事をうけ、Amazon Bedrock を利用したブログ記事のレベル判定を試みました。
Clock Icon2024.12.26

2024年12月20日、「2025 Japan AWS Top Engineers」の概要および応募クライテリアが公開されました。

2025 Japan AWS Top Engineers クライテリアのお知らせ

AWS ビジネス拡大につながる技術力を発揮した活動の技術的難易度は Level 300 以上である事が、新たな要件として追加されています。

Level の説明

Level 100 : AWS サービスの概要を解説するレベル
Level 200 : トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル
Level 300 : 対象のトピックの詳細を解説するレベル
Level 400 : 複数のサービス、アーキテクチャによる実装でテクノロジーがどのように機能するかを解説するレベル

Amazon Bedrock を利用して、過去に投稿したブログ記事の 技術的難易度レベルの判定を試みる機会を得ましたので、その結果を紹介します。

システムプロンプト

サンプル入手

AWS Summit Japan 2024 の Advanced (300) および Expert (400) のセッションより、

AWS Summit Japan 2024 のアーカイブ として公開されている PDFをダウンロード。

Advanced (300) および Expert (400) の記載内容のイメージ
Level 300 および Level 400 の記載内容のイメージは Amazon Web Services ブログに掲載されている記事および AWS Summit Japan 2024 のアーカイブのコンテンツを参考としてください。

4〜5MBの PDFを添付ファイルとしてそのまま処理できた Gemini Advanced 1.5 Proを利用して、概要テキストを生成しました。

生成に用いたプロンプトと出力結果は以下の通りです。

  • プロンプト
添付したPDFの内容をマークダウンに変換して
  • 出力結果
## Amazon S3 Deep Dive

### 経験の重要性

経験を積むための近道はありません。

### Amazon S3 とは

Amazon Simple Storage Service (S3) は、スケーラブルで信頼性の高いオブジェクトストレージサービスです。世界中のすべての AWS リージョンで 350 以上のマイクロサービスによって使用されています。

### Amazon S3 のアーキテクチャ

Amazon S3 は、以下の 3 つの主要コンポーネントで構成されています。

*   **フロントエンド:** 認証、認可、リクエストのルーティングを担当します。
*   **インデックス:** オブジェクトのメタデータを格納し、オブジェクトの場所を追跡します。
*   **ストレージ層:** オブジェクトのデータを格納します。

### フロントエンド

フロントエンドは、ピーク時に 1 秒あたり 1 億件以上のリクエストを処理するように設計されています。

### インデックス

インデックスは、プレフィックスと呼ばれる文字列を使用してオブジェクトを整理します。プレフィックスを使用すると、大量のオブジェクトを効率的に管理できます。

### ストレージ層

ストレージ層は、99.999999999% のデータ耐久性を提供します。これは、10,000,000 個のオブジェクトのうち、1 年間に 1 個のオブジェクトが失われる可能性があることを意味します。

### Amazon S3 Express One Zone ストレージクラス

Amazon S3 Express One Zone は、低レイテンシと高スループットを必要とするアプリケーション向けに設計されたストレージクラスです。このストレージクラスは、単一のアベイラビリティーゾーンにデータを格納するため、他のストレージクラスよりも低コストです。ただし、アベイラビリティーゾーンの全体または一部が失われた場合、データが失われる可能性があります。

### 誤削除対策

Amazon S3 での誤削除を防ぐには、以下の方法があります。

*   S3 Versioning を使用して、オブジェクトの以前のバージョンを保持する。
*   S3 Replication を使用して、オブジェクトを別のリージョンに複製する。
*   S3 Object Lock を使用して、オブジェクトの削除を防止する。
*   定期的にバックアップを作成する。

### まとめ

Amazon S3 は、スケーラブルで信頼性の高いオブジェクトストレージサービスです。世界中のすべての AWS リージョンで利用できます。Amazon S3 は、さまざまなストレージクラスを提供しており、アプリケーションのニーズに合わせて最適なストレージクラスを選択できます。

今回、以下3つのPDFをサンプルとして利用しました。

Level 200

Level 300

Level 400

システムプロンプト作成

システムプロンプト作成には、Claude 3.5 Sonnet v2 を利用しました。

次のプロンプトでシステムプロンプトとして利用できるXMLを生成しました。

AWSエンジニアの AWS ビジネス拡大につながる技術力を発揮した活動について、以下4段階で レベル分類を実施します。

Level の説明
Level 100 : AWS サービスの概要を解説するレベル
Level 200 : トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル
Level 300 : 対象のトピックの詳細を解説するレベル
Level 400 : 複数のサービス、アーキテクチャによる実装でテクノロジーがどのように機能するかを解説するレベル

レベル分類のサンプルとして、以下を用意しました。

Level 200 は、<level_200_example>
Level 300 は、<level_300_example>
Level 400 は、<level_400_example>

<level_200_example>
# Amazon EC2の最新情報
(略)
</level_200_example>

<level_300_example>
## Amazon S3 の詳細解説
(略)
</level_300_example>

<level_400_example>

## Amazon Aurora の技術とイノベーション Deep Dive
(略)
</level_400_example>

この内容を反映した、システムプロンプトとして利用できるXMLを生成して。
  • 出力結果
以下のようなXMLフォーマットのシステムプロンプトを生成しました。
<?xml version="1.0" encoding="UTF-8"?>
<system_prompt>
  <role>AWSテクニカルコンテンツアドバイザー</role>

  <context>
    AWSエンジニアの技術力を評価・分類するための基準として、以下4段階のレベル分類システムを採用しています。
  </context>

  <level_definitions>
    <level_100>
      AWSサービスの概要を解説するレベル
    </level_100>

    <level_200>
      トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル
      例: EC2インスタンスタイプの詳細説明、Nitroシステムの概要、新機能アップデートの解説など
    </level_200>

    <level_300>
      対象のトピックの詳細を解説するレベル
      例: S3の内部構成要素、パフォーマンス最適化手法、耐久性メカニズムの詳細な技術解説など
    </level_300>

    <level_400>
      複数のサービス、アーキテクチャによる実装でテクノロジーがどのように機能するかを解説するレベル
      例: Auroraのアーキテクチャ詳細、グローバルデータベース構成、新機能の技術的な仕組みなど
    </level_400>
  </level_definitions>

  <evaluation_criteria>
    <technical_depth>
      - 技術的な深さと正確性
      - アーキテクチャの理解度
      - 実装の詳細度
    </technical_depth>

    <business_impact>
      - AWSビジネス拡大への貢献度
      - 顧客価値の創出
      - ソリューション提案力
    </business_impact>
  </evaluation_criteria>

  <instructions>
    提供されたAWS関連の技術コンテンツやアクティビティについて:
    1. 上記レベル定義に基づき適切なレベルを判定
    2. 判定理由を技術的観点から説明
    3. ビジネスインパクトの観点からの評価を提供
    4. 必要に応じて改善提案を行う
  </instructions>
</system_prompt>
このシステムプロンプトは:

4段階のレベル定義を明確に示し
各レベルの具体例を含み
技術的深さとビジネスインパクトの両面から評価基準を設定し
具体的な評価手順を示しています
これにより、一貫性のある評価と建設的なフィードバックの提供が可能になります。

レベル判定

レベル判定は、Claude 3.5 Haiku v1 を利用しました。

Chat / Text playground の システムプロンプトとして レベル判定用のXMLを定義。

判定対象のブログ記事テキストをテキスト入力欄に貼り付けて、レベル判定を試みました。

Bedrockチャットでレベル判定

以下の記事で、各レベルに分類できました。

level 100

https://dev.classmethod.jp/articles/amazon-locker-las-vegas-2024/

この記事のレベル分類を行います。

レベル: **Level 100**

判定理由:
1. 技術的な深さのレベル
- AmazonロッカーのWEBサイト上での検索と利用方法の基本的な説明
- 具体的な受け取りスポットの紹介
- 技術的な詳細な解説は含まれていない

2. 対象読者
- Amazon.comの海外配送に興味がある一般ユーザー
- 旅行者や初めてAmazonロッカーを利用する人
- 技術的な専門知識を必要としない読者

3. 内容の特徴
- サービスの基本的な利用方法の紹介
- 受け取りスポットの場所や注意点の説明
- 技術的な深い解説は行われていない

4. 技術的詳細のレベル
- Webサイトでの住所登録と受け取りスポット検索の基本的な手順
- サービスの利用方法に関する簡単な説明
- 技術的な内部メカニズムには全く触れていない

5. 情報の深さ
- サービスの表面的な利用方法の説明
- 実用的な情報提供
- 技術的な分析や詳細な解説は含まれていない

特に以下の点から、Level 100に最も適していると判断しました:
- サービスの概要説明
- 基本的な利用方法の紹介
- 技術的な深い解説の欠如
- 一般ユーザー向けの平易な説明

「AWSサービスの概要を解説するレベル」という Level 100 の特徴に最も合致しています。

Amazon.comのロッカーサービスについて、技術的な詳細に立ち入ることなく、基本的な利用方法と注意点を紹介する内容となっており、Level 100に相応しい記事と判断しました。

Level 200

https://dev.classmethod.jp/articles/amazon-ses-global-endpoints-multiregion/

この記事のレベル分類を行います。

レベル: **Level 200**

判定理由:
1. 技術的な深さのレベル
- Amazon SESのグローバルエンドポイント機能の基本的な解説
- 設定手順と基本的な利用方法の紹介
- AWS CLIを使用した具体的な実行例の提示

2. 対象読者
- AWS SESを初めて利用する、またはグローバルエンドポイントに興味のある中級者
- 技術的な基本知識を持つエンジニア向け

3. 内容の特徴
- サービスの新機能紹介
- 基本的な設定手順と実行例
- 料金情報の提供
- 注意点やガイドラインの簡潔な説明

4. 技術的詳細のレベル
- サービスの概要と基本的な機能説明
- 具体的な設定方法の解説
- 深い技術的な内部メカニズムには立ち入っていない

5. ベストプラクティスの提示
- グローバルエンドポイント利用時の基本的な注意点
- 追加で考慮すべき設定項目の簡潔な紹介

Level 200の特徴である「トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル」に最も適合していると判断しました。

技術的な詳細には深く立ち入らず、実践的な利用方法と基本的な機能紹介に焦点を当てている点が、Level 200に相応しい内容となっています。

Level 300

https://dev.classmethod.jp/articles/cloudfront-vpc-origins-internal-alb/

この記事のレベル分類を行います。

レベル: **Level 300**

判定理由:
1. 技術的な深さのレベル
- CloudFrontの新しいVPCオリジン機能の詳細な技術的解説
- VPC、ALB、セキュリティグループなど、複数のAWSサービスにまたがる詳細な設定手順
- ネットワーク構成、セキュリティ設定、通信経路の詳細な解説

2. 対象読者
- AWSネットワーク設計に関する高度な知識を持つエンジニア
- クラウドインフラストラクチャのセキュリティと最適化に関心のある上級者
- VPCとCloudFrontの詳細な設定に精通している読者

3. 内容の特徴
- 新機能の詳細な技術的メカニズムの解説
- 具体的な実装手順と技術的な背景の説明
- ネットワーク設計とセキュリティの詳細な考察
- コスト最適化の技術的な側面の分析

4. 技術的詳細のレベル
- VPCオリジンの内部的な動作原理の詳細
- ネットワークインターフェース(ENI)の詳細な説明
- セキュリティグループの詳細な設定方法
- 通信経路とセキュリティ制御の深い解説

5. 高度な技術的考察
- クラウドインフラストラクチャのセキュリティ設計
- ネットワーク構成の最適化
- コスト最適化の技術的アプローチ

特に以下の点から、Level 300に最も適していると判断しました:
- 複数のAWSサービスにわたる詳細な技術解説
- 高度なネットワーク設計と実装の詳細
- 技術的メカニズムの深い理解を必要とする内容
- セキュリティとネットワーク構成の詳細な説明

「対象のトピックの詳細を解説するレベル」という Level 300 の特徴に最も合致しています。

具体的な実装手順、技術的背景、セキュリティ設計の詳細な解説は、上級エンジニア向けの深い技術解説となっており、Level 300に相応しい内容となっています。

Level 400

https://dev.classmethod.jp/articles/deep-dive-shutsugankanagawa-gmail-failure/

この記事のレベル分類を行います。

レベル: **Level 400**

判定理由:
1. 技術的な深さ
- メールシステムの複雑な技術的側面を詳細に分析
- Amazon SES、DNS設定、MXレコード、メール認証など、多層的な技術要素を深く掘り下げて解説

2. 複数のサービス・アーキテクチャの相互作用
- Amazon SES、Gmail、Google Workspace
- メールインフラ、DNS、認証システムの複合的な相互作用を分析

3. 技術的な詳細
- メール送信の仕組み
- SPF、DKIM、DMARC認証の詳細
- IPウォームアップ、バウンスメール処理
- Gmailのスパム判定メカニズム

4. ビジネスインパクト
- 公的システムにおけるメール配信の重要性
- 大規模システムの技術的課題と対策
- 再発防止のための具体的な提言

5. 高度な技術分析
- 問題の根本原因を多角的に分析
- 技術的な改善提案を詳細に提示

特に、複数のテクノロジーの相互作用と、深い技術分析の観点から、Level 400にふさわしい内容となっています。

まとめ

今回の検証を通して、Amazon Bedrock と適切なシステムプロンプトを組み合わせることで、ブログ記事のレベル分類を自動化できる可能性が見えてきました。

ただし、現状では判定結果の精度には改善の余地がある状態です。

今後、システムプロンプトの改善や、モデルのチューニングや、より廉価な利用できる可能性があるモデルNovaなどの評価。より多くの記事の評価などを通じ、レベル判定精度の向上を図ってみたいと思います。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.